package com.wz.project.bas.trayCode.service;

import com.wz.common.utils.text.Convert;
import com.wz.project.bas.trayCode.domain.TrayCode;
import com.wz.project.bas.trayCode.mapper.TrayCodeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * 基础托盘条码管理 服务层实现
 * 
 * @author sys
 * @date 2021-10-28
 */
@Service
public class TrayCodeServiceImpl implements ITrayCodeService
{
	@Autowired
	private TrayCodeMapper trayCodeMapper;

	/**
     * 查询基础托盘条码管理信息
     * 
     * @param id 基础托盘条码管理ID
     * @return 基础托盘条码管理信息
     */
    @Override
	public TrayCode selectTrayCodeById(String id)
	{
	    return trayCodeMapper.selectTrayCodeById(id);
	}
	@Override
	public TrayCode selectTrayCode(String id)
	{
	    return trayCodeMapper.selectTrayCode(id);
	}
	
	/**
     * 查询基础托盘条码管理列表
     * 
     * @param trayCode 基础托盘条码管理信息
     * @return 基础托盘条码管理集合
     */
	@Override
	public List<TrayCode> selectTrayCodeList(TrayCode trayCode)
	{
	    return trayCodeMapper.selectTrayCodeList(trayCode);
	}
	
    /**
     * 新增基础托盘条码管理
     * 
     * @param trayCode 基础托盘条码管理信息
     * @return 结果
     */
	@Override
	public void insertTrayCode(TrayCode trayCode)
	{
		for(int i=trayCode.getBeginCode();i<trayCode.getBeginCode()+trayCode.getBeginCount();i++){
			String traycode=trayCode.gettHead()+String.format("%07d",i);
			trayCode.setTrayCode(traycode);
			trayCodeMapper.insertTrayCode(trayCode);

		}

	}
	@Override
	public void insertTrayCodes(TrayCode trayCode)
	{

		trayCode.settHead("K");
		trayCodeMapper.insertTrayCode(trayCode);
	}
	
	/**
     * 修改基础托盘条码管理
     * 
     * @param trayCode 基础托盘条码管理信息
     * @return 结果
     */
	@Override
	public int updateTrayCode(TrayCode trayCode)
	{
	    return trayCodeMapper.updateTrayCode(trayCode);
	}

	/**
     * 删除基础托盘条码管理对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteTrayCodeByIds(String ids)
	{
		return trayCodeMapper.deleteTrayCodeByIds(Convert.toStrArray(ids));
	}

	@Override
	public int selectHeadCount(String tHead) {
		return trayCodeMapper.selectHeadCount(tHead);
	}

	@Override
	public void updateStatus(String trayCode) {
		trayCodeMapper.updateTrayCodeStatus(trayCode);
	}
}
